home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / devel / vbcc-68k-src / machines / amiga / doc / minstart.doc < prev    next >
Text File  |  1999-01-01  |  2KB  |  52 lines

  1. minstart - minimal startup code for vbcc
  2.  
  3. If you want to write programs that use only Amiga functions and none from
  4. vc.lib you can use minstart.o instead of startup.o and produce smaller
  5. executables.
  6.  
  7. This is only useful for people who know enough about the Amiga shared
  8. libraries, the stubs in amiga.lib etc. If you do not know enough about
  9. those things better forget minstart at all.
  10.  
  11. This startup code does not set up all the things needed by vc.lib, so you
  12. must not use most of those functions (string and ctype funtions are ok,
  13. but most other functions - especially I/O and memory handling - must not
  14. be used).
  15. exit() is supplied by minstart and can be used.
  16.  
  17. The command line is not parsed, but passed to main() as a single string,
  18. so you can declare main as
  19. int main(char *command) or int main(void).
  20.  
  21. Also no Amiga libraries are opened (but SysBase ist set up), so you
  22. have to define and open DOSBase yourself if you need it.
  23. If you want to use floating point with the IEEE libraries you have to
  24. define and open MathIeeeSingBas.library, MathIeeeDoubBas.library and
  25. MathIeeeDoubTrans.library (in this order!) and link with mieee.lib (if
  26. compiled for FPU this is not needed).
  27.  
  28. A hello world using minstart could look like this:
  29.  
  30. #include <exec/libraries.h>
  31. #include <clib/exec_protos.h>
  32. #include <clib/dos_protos.h>
  33.  
  34. struct Library *DOSBase;
  35.  
  36. main()
  37. {
  38.     if(DOSBase=OpenLibrary("dos.library",0)){
  39.         Write(Output(),"Hello, world!\n",14);
  40.         CloseLibrary(DOSBase);
  41.     }
  42.     return 0;
  43. }
  44.  
  45. This can yield an executable of under 300 bytes when compiled with
  46. -sc -sd -O2 and linked with minstart.o and amigas.lib (using PhxLnk - may
  47. not work with other linkers).
  48.  
  49.  
  50. Volker Barthelmann                                      volker@vb.franken.de
  51.  
  52.